package com.qk.management.handler;

import com.qk.common.Result;
import com.qk.common.exception.CommonException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 *
 * @author MrZhao
 * @created 2025-10-07 9:25
 * @description  全局异常处理器
 * 1、定义一个类类上使用一个注解  @RestControllerAdvice = @ControllerAdvice + @ResponseBody
 * 2、定义个方法，处理所有异常 使用一个注解  @ExceptionHandler 注解中属性，告诉处理器处理何种异常, 异常处理方法可以定义多个
 * 3、捕获异常后处理，一般记录日志 @Slf4j
 */
@Slf4j
@RestControllerAdvice
public class MyGlobalExceptionHandler {

    @ExceptionHandler(value = Exception.class)
    public Result handleException(Exception e) {
        log.error("服务器异常:{}", e.getMessage());
        return Result.error("您的网络有问题，请稍后重试！");
    }

    @ExceptionHandler(value = CommonException.class)
    public Result handleCommonException(CommonException e) {
        return Result.error(e.getMessage());
    }

}
